﻿Imports System.Data.SqlClient

Public Class frmEvaluacionParamtros
    Dim Bitacora As New clsActividad
    Dim Usuario As New clsUsuarioPrincipal

    Private Sub frmEvaluacionParamtros_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Bitacora.RegistraActividad("Cerró la definición de parametros de evaluación")
        Usuario.Ubicacion("Módulo de Evaluación")
    End Sub
    Private Sub frmEvaluacionParamtros_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStrip1.Cursor = Cursors.Hand
        ToolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System

        CargaPorcentajes()

        Bitacora.RegistraActividad("Ingresó a la definición de parametros de evaluación")
        Usuario.Ubicacion("Definición de parametros de evaluación")

        For i = 0 To 6
            dgParametros.Columns(i).DefaultCellStyle.Format = "0.00%"
            dgParametros.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgParametros.Columns(i).ReadOnly = False
        Next
        
    End Sub
    Sub CargaPorcentajes()
        dgParametros.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader
        Dim strSql As String

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "Select * from E_Porcentajes WHERE IdPorcentaje=1"
            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Dim Servicios As Double = 0
            Dim Puntualidad As Double = 0
            Dim Presentacion As Double = 0
            Dim Rendimiento As Double = 0
            Dim Ventas As Double = 0
            Dim Bloqueos As Double = 0
            Dim Total As Double = Servicios + Puntualidad + Presentacion + Rendimiento + Ventas + Bloqueos

            Do While rdBuscar.Read()
                Servicios = rdBuscar("Servicios") / 100
                Puntualidad = rdBuscar("Puntualidad") / 100
                Presentacion = rdBuscar("Presentacion") / 100
                Rendimiento = rdBuscar("Rendimiento") / 100
                Ventas = rdBuscar("Ventas") / 100
                Bloqueos = rdBuscar("Bloqueos") / 100
                Total = Servicios + Puntualidad + Presentacion + Rendimiento + Ventas + Bloqueos

            Loop

            dgParametros.Rows.Add(Servicios, Puntualidad, Presentacion, Rendimiento, Ventas, Bloqueos, Total)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try
    End Sub
    Private Sub FinDeEdicion(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles dgParametros.CellEndEdit
        'Añadir aqui las validaciones necesarias
       

        Try
             Dim Servicios As Double = dgParametros.CurrentRow.Cells(0).Value
            Dim Puntualidad As Double = dgParametros.CurrentRow.Cells(1).Value
            Dim Presentacion As Double = dgParametros.CurrentRow.Cells(2).Value
            Dim Rendimiento As Double = dgParametros.CurrentRow.Cells(3).Value
            Dim Ventas As Double = dgParametros.CurrentRow.Cells(4).Value
            Dim Bloqueos As Double = dgParametros.CurrentRow.Cells(5).Value
            Dim Total As Double = Servicios + Puntualidad + Presentacion + Rendimiento + Ventas + Bloqueos

            dgParametros.CurrentRow.Cells(6).Value = Total / 100
            For i = 0 To 6
                dgParametros.Columns(i).DefaultCellStyle.Format = "0.00%"
                dgParametros.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
                dgParametros.Columns(i).ReadOnly = False
            Next
        Catch ex As Exception
            '.... Accion en caso de excepcion
        End Try
    End Sub

    Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
        Dim Total As Double = CDbl(dgParametros.Rows(0).Cells(6).Value) * 100



        If Total <> 100 Then
            MsgBox("No se puedo guardar porque los porcentajes son incorrectos", MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
        End If

        Dim Eva As New clsE_Porcentajes

        Eva.IdPorcentajes = 1
        Eva.Servicios = dgParametros.CurrentRow.Cells(0).Value * 100
        Eva.Puntualidad = dgParametros.CurrentRow.Cells(1).Value * 100
        Eva.Presentacion = dgParametros.CurrentRow.Cells(2).Value * 100
        Eva.Rendimiento = dgParametros.CurrentRow.Cells(3).Value * 100
        Eva.Ventas = dgParametros.CurrentRow.Cells(4).Value * 100
        Eva.Bloqueos = dgParametros.CurrentRow.Cells(5).Value * 100
        Eva.Total = Total

        Dim Id As Integer = BuscarIntDatoCitra("SELECT IdPorcentaje FROM E_Porcentajes WHERE IdPorcentaje=1")
        If Id > 0 Then
            Eva.Actualizar()
            Bitacora.RegistraActividad("Actualizó los parametros de la evaluación a conductores")
        Else
            Eva.Insertar()
            Bitacora.RegistraActividad("Registró los parametros de la evaluación a conductores")
        End If


        Close()

    End Sub

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Close()

    End Sub
End Class